using System;
using System.Collections.Generic;
using System.Text;
using WozLib.UI.Ink.SketchObjects;

namespace WozLib.UI.Ink.SketchCommands
{
  /// <summary>
  /// all user actions commands like pressing a button (or maybe editing a textbox)
  /// should subclass this. That allow the server to watch for UserAction commands
  /// and flag them for the user action queue.
  /// 
  /// The user action Stack and Queue should only be different in their ordering of these by time?
  /// Or there could just be a queue and a stack
  /// </summary>
  public class UserActionSketchCommand : SketchCommand
  {

    public UserActionSketchCommand()
      : base()
    {
    }

    public UserActionSketchCommand(SketchObject wozObject)
      : base(wozObject)
    {
    }

    public UserActionSketchCommand(IEnumerable<SketchObject> wozObjects)
      : base(wozObjects)
    {
    }

    public override void Redo()
    {
      if (this.WozClientCommandReferences != null && this.WozClientCommandReferences.InkCanvas != null)
      {
      }
    }

    public override void Undo()
    {
      // not really anything to undo for this command
    }
  }
}